package com.yunduo.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;

import java.io.Serializable;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户实体类
 * </p>
 */
@Data
@EqualsAndHashCode(callSuper = false) //重写Equals和HashCode并且将继承自父类的属性一并添加
@Accessors(chain = true) //链式编程
public class User implements Serializable {

    //序列化版本号
    private static final long serialVersionUID = 1L;

    //用户ID
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    //姓名
    private String name;

    //密码
    private String password;

    //头像
    private String avatar;

    //角色
    private String role;

    //(value = "逻辑删除 1（true）已删除， 0（false）未删除")
    @TableLogic //逻辑删除注解
    private Boolean isDeleted;

    //创建时间
    @TableField(fill = FieldFill.INSERT) // 在插入时自动更新数据
    private LocalDateTime gmtCreate;

    //更新时间
    @TableField(fill = FieldFill.INSERT_UPDATE) //插入和更新时更新数据
    private LocalDateTime gmtModified;
}
